package com.lostreseditores.sabersai.model.control;

import java.util.Date;
import java.util.List;

import com.lostreseditores.sabersai.model.Calificacion;
import com.lostreseditores.sabersai.model.Tipoexamen;
import com.lostreseditores.sabersai.model.VSalones;
import com.lostreseditores.sabersai.model.dto.CalificacionDTO;


public interface ICalificacionLogic {
    public List<Calificacion> getCalificacion() throws Exception;

    public void saveCalificacion(Integer caliestadon, Date califechad,
        Integer caliidn, Integer calipremarcan, Integer caliidn_Calificacion,
        Integer coleidn_Colegio, Integer cursidn_Curso,
        Integer distidn_Distribuidor, Integer examidn_Examen,
        Integer jornidn_Jornada, Integer usuaidn_Usuario)
        throws Exception;
    
    public void savePaquete(Integer cursidn_Curso,
			Integer coleidn_Colegio, Integer usuaidn_Usuario, Date califechad,
			Integer distidn_Distribuidor)
            throws Exception;
    
    
	public void saveSalon(Integer cursidn_Curso,
			Integer usuaidn_Usuario, Date califechad, Integer cal_caliidn,
			Integer jornidn_Jornada) throws Exception; 
	
	public void saveCalific(Integer usuaidn_Usuario, Date califechad,
			Integer examidn, Integer cal_caliidn, Integer caliestadon)
			throws Exception; 
	
	public void deleteCalificacion(Integer caliidn) throws Exception;
    
    public void deletePaquete(Integer caliidn) throws Exception;
    
    public void deleteSalon(Integer caliidn) throws Exception;

    public void updateCalificacion(Integer caliestadon, Date califechad,
        Integer caliidn, Integer calipremarcan, Integer caliidn_Calificacion,
        Integer coleidn_Colegio, Integer cursidn_Curso,
        Integer distidn_Distribuidor, Integer examidn_Examen,
        Integer jornidn_Jornada, Integer usuaidn_Usuario)
        throws Exception;

	public void updatePaquete(Integer caliidn, Integer cursidn_Curso,
			Integer distidn_Distribuidor) throws Exception;
	
	public void updateSalon(Integer caliidn, Integer cal_caliidn,
			Integer jornidn_Jornada) throws Exception;

    public Calificacion getCalificacion(Integer caliidn)
        throws Exception;
    
    public List<Calificacion> findGruposColegios(Long coleidn) throws Exception;
    
    public List<Calificacion> findSalonesGrupo(Integer cal_caliidn) throws Exception;
    
    public List<Calificacion> findCalificaciones(Integer cal_caliidn) throws Exception;

    public List<Calificacion> findByCriteria(Object[] variables,
        Object[] variablesBetween, Object[] variablesBetweenDates)
        throws Exception;

    public List<Calificacion> findPageCalificacion(String sortColumnName,
        boolean sortAscending, int startRow, int maxResults)
        throws Exception;

    public Long findTotalNumberCalificacion() throws Exception;

    public List<CalificacionDTO> getDataCalificacion()
        throws Exception;
     
    public List<Calificacion> findFechaGruposColegio(Long coleidn) throws Exception;
    
    public List<VSalones> findNumAlumnSalon(Integer caliidn) throws Exception;
    
    public List<Tipoexamen> getTipoExamen() throws Exception;
    
    public List findEstudiantesxCalificacion(Integer caliidn) throws Exception;

	public List findNotasxEstudiante(Integer caliidn, Integer estuidn) throws Exception;
    
    
}
